﻿from PySide2.QtWidgets import (QHBoxLayout, QHeaderView, QSizePolicy, QTableView, QWidget)
from table_model import *

#含TableView的窗口类
class Widget(QWidget):
    def __init__(self, data):
        QWidget.__init__(self)

        #获取model
        self.model = CustomTableModel(data)

        #创建QTableView
        self.table_view = QTableView()
        self.table_view.setModel(self.model)

        #QTableView 表头自适应以及拉伸
        self.horizontal_header = self.table_view.horizontalHeader()
        self.vertical_header = self.table_view.verticalHeader()
        self.horizontal_header.setSectionResizeMode(QHeaderView.ResizeToContents)
        self.vertical_header.setSectionResizeMode(QHeaderView.ResizeToContents)
        self.horizontal_header.setStretchLastSection(True)

        #布局
        self.main_layout = QHBoxLayout()
        size = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)

        #应用size策略
        size.setHorizontalStretch(1)
        self.table_view.setSizePolicy(size)
        self.main_layout.addWidget(self.table_view)

        #应用布局
        self.setLayout(self.main_layout)
